/*
 * 项目名称:    wms-server-jeecg
 * 创建人员:    hansen
 * 创建时间:    2023-08-10
 */
package org.jeecg.modules.business.repertory.entity.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 即时库存库区VO
 *
 * @author hansen
 * @version 1.0.0
 * @date 2023-08-10 12:50:17
 */
@Data
public class RepertoryAreaVO {
    /**
     * 主键
     */
    private String id;
    /**
     * 库区外键
     */
    @ApiModelProperty(value = "库区外键")
    private String wmsBasicWarehouseAreaId;
    /**
     * 库位外键
     */
    @ApiModelProperty(value = "库位外键")
    private String wmsBasicWarehouseAreaLocationId;
    /**
     * 批次号
     */
    @ApiModelProperty(value = "批次号")
    private String batchCode;
    /**
     * 库存量
     */
    @ApiModelProperty(value = "库存量")
    private BigDecimal stockQuantity;
    /**
     * 可用量
     */
    @ApiModelProperty(value = "可用量")
    private BigDecimal usableQuantity;
    /**
     * 锁定量
     */
    @ApiModelProperty(value = "锁定量")
    private BigDecimal lockQuantity;
    /**
     * 库存单位
     */
    @ApiModelProperty(value = "库存单位")
    @Dict(dictTable = "wms_basic_unit", dicText = "name", dicCode = "id")
    private String wmsBasicUnitId;
    /**
     * 库区名称
     */
    private String areaName;
    /**
     * 库位标识
     */
    private Boolean locationTag;

    /**
     * 钢卷号
     */
    @ApiModelProperty(value = "钢卷号")
    private String steelCode;
    /**
     * 外径
     */
    @ApiModelProperty(value = "外径")
    private BigDecimal outsideDiameter;
    /**
     * 宽度
     */
    @ApiModelProperty(value = "宽度")
    private BigDecimal width;
    /**
     * 长度
     */
    @ApiModelProperty(value = "长度")
    private BigDecimal length;
    /**
     * 厚度
     */
    @ApiModelProperty(value = "厚度")
    private BigDecimal thickness;
    /**
     * 牌号
     */
    @Dict(dicCode = "wms_mark")
    @ApiModelProperty(value = "牌号")
    private String shopSign;
    /**
     * 外观等级
     */
    @Dict(dicCode = "wms_appearance_rating")
    @ApiModelProperty(value = "外观等级")
    private String appearanceGrade;
    /**
     * 铁损
     */
    @ApiModelProperty(value = "铁损")
    private BigDecimal ironLoss;
    /**
     * 实测片厚
     */
    @ApiModelProperty(value = "实测片厚")
    private BigDecimal measuredThickness;
    /**
     * 实测铁损
     */
    @ApiModelProperty(value = "实测铁损")
    private BigDecimal measuredIronLoss;
    /**
     * 硅钢等级
     */
    @ApiModelProperty(value = "硅钢等级")
    private String siliconGrade;
    /**
     * 刻痕等级
     */
    @ApiModelProperty(value = "刻痕等级")
    private String score;
    /**
     * 原始净重
     */
    @ApiModelProperty(value = "原始净重")
    private BigDecimal originalWeight;
    /**
     * 实称净重
     */
    @ApiModelProperty(value = "实称净重")
    private BigDecimal measuredWeight;
    /**
     * 包装物
     */
    @ApiModelProperty(value = "包装物")
    private String wrappage;
    /**
     * 毛重
     */
    @ApiModelProperty(value = "毛重")
    private BigDecimal grossWeight;
    /**
     * 入库日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "入库日期")
    private Date warehouseDate;

    /**
     * 销售订单号
     */
    @ApiModelProperty(value = "销售订单号")
    private String saleOrderCode;
    /**
     * 销售订单行号
     */
    @ApiModelProperty(value = "销售订单行号")
    private String saleOrderLineCode;
    /**
     * 生产工单号
     */
    @ApiModelProperty(value = "生产工单号")
    private String productCode;
    /**
     * 生产工单行号
     */
    @ApiModelProperty(value = "生产工单行号")
    private String productLineCode;
    /**
     * 库存状态 正常: normal, 冻结: freeze
     */
    @ApiModelProperty(value = "库存状态")
    @Dict(dicCode = "repertory_status")
    private String status;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;
    /**
     * 库存组织
     */
    @ApiModelProperty(value = "库存组织")
    private String stockOrg;
    /**
     * 货主类型
     */
    @ApiModelProperty(value = "货主类型")
    @Dict(dicCode = "wms_owner_of_cargo")
    private String ownerType;
    /**
     * 货主编码
     */
    @ApiModelProperty(value = "货主编码")
    private String ownerCode;
    /**
     * 货主名称
     */
    @ApiModelProperty(value = "货主名称")
    private String ownerName;
    /**
     * 物料编码
     */
    @ApiModelProperty(value = "物料编码")
    private String materialCode;
    /**
     * 物料名称
     */
    @ApiModelProperty(value = "物料名称")
    private String materialName;
    /**
     * 规格型号
     */
    @ApiModelProperty(value = "规格型号")
    private String specification;
}
